home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Treccani Italiana Di Scienze Lettere Ed Arti
/
[Enciclopedia] Treccani Italiana di scienze lettere ed arti.iso
/
pc
/
data
/
xxi_appendice_dvd.swf
/
scripts
/
__Packages
/
CNormalize.as
< prev
next >
Wrap
Text File
|
2007-11-08
|
3KB
|
107 lines
class CNormalize extends Object
{
function CNormalize(inTableSize)
{
super();
this.mLoaded = false;
this.mSingleChar = true;
this.mTableSize = inTableSize;
this.mDelChar = " ";
this.mTableUrl = "";
}
function LoadTable(inTableUrl)
{
this.mTable = new Array();
this.mLoaded = false;
this.mTableUrl = inTableUrl;
var _loc2_ = 0;
while(_loc2_ <= 32)
{
this.mTable.push(" ");
_loc2_ = _loc2_ + 1;
}
_loc2_ = 33;
while(_loc2_ < this.mTableSize)
{
this.mTable.push(String.fromCharCode(_loc2_));
_loc2_ = _loc2_ + 1;
}
var _loc3_ = new LoadVars();
_loc3_.mParent = this;
_loc3_.onData = mx.utils.Delegate.create(this,this.onData);
_loc3_.onLoad = mx.utils.Delegate.create(this,this.onLoad);
_loc3_.load(inTableUrl);
}
function onLoad()
{
}
function onData(rawData)
{
var _loc10_ = rawData.length;
if(rawData == undefined)
{
return undefined;
}
var _loc7_ = rawData.split("\r\n");
var _loc6_ = undefined;
var _loc8_ = undefined;
var _loc4_ = undefined;
var _loc2_ = undefined;
var _loc3_ = 0;
while(_loc3_ < _loc7_.length)
{
var _loc5_ = _loc7_[_loc3_];
if(_loc5_ != "")
{
_loc6_ = _loc5_.split("\t");
_loc8_ = StringUtils.trim(_loc6_[0]);
_loc4_ = _loc8_.charCodeAt(0);
_loc2_ = StringUtils.trim(_loc6_[1]);
if(_loc4_ <= this.mTableSize && _loc2_ != "")
{
if(_loc2_ == "SP")
{
_loc2_ = " ";
}
else if(_loc2_ == "DEL")
{
_loc2_ = this.mDelChar;
}
if(this.mSingleChar)
{
this.mTable[_loc4_] = _loc2_.charAt(0);
}
else
{
this.mTable[_loc4_] = _loc2_;
}
}
}
_loc3_ = _loc3_ + 1;
}
this.mLoaded = true;
}
function Normalize(inString, inMode)
{
var _loc12_ = undefined;
var _loc7_ = new Array();
var _loc8_ = "";
var _loc5_ = inString.length;
var _loc3_ = "";
var _loc4_ = undefined;
var _loc2_ = 0;
while(_loc2_ < _loc5_)
{
_loc4_ = inString.charCodeAt(_loc2_);
_loc3_ = this.mTable[_loc4_];
_loc8_ += _loc3_;
if(_loc3_.length > 1)
{
_loc7_.push({pos:_loc2_,len:_loc3_.length});
}
_loc2_ = _loc2_ + 1;
}
return {text:_loc8_,shift:_loc7_};
}
}